Voluminous amounts of data are often stored in databases. As the amount of information stored in various forms of databases increases, the complexity of managing such databases increases. Database management systems (DBMS) employ several algorithms, methods, and functions to manage the data. These functions may include queries, updates, and materialized view maintenance. As processing resources are often limited, it is imperative that a DBMS utilizes efficient algorithms.
Database joins are a critical component of the DBMS operations. A database query will often contain multiple joins. The faster the joins can be computed, the more efficiently the DBMS can manage the data.
Databases may use different types of storage media for data storage. Traditionally, disk drives have been used to store data. These disk drives are most efficient when data is being read or written sequentially. Solid state drives (SSD's) are beginning to replace many traditional disk drives. SSD's are able to perform reads randomly at a comparable rate to sequential reads on a disk drive. It is important that the software algorithms used by a DBMS are developed to best utilize the hardware to which the database is using.
Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.